package com.tdam2011.grupo04;

import java.util.ArrayList;

import com.tdam2011.grupo04.entidades.EmailContacto;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class DetalleMail extends ListActivity{
	private TextView txt_conversacion;
	
	EmailAdapter adapter;
	
	private String destino;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.sms);

	        adapter= new EmailAdapter();
	        getListView().setAdapter(adapter);
	 
	        txt_conversacion = (TextView)findViewById(R.id.txt_mensajeA);
	        
	        txt_conversacion.setVisibility(TextView.GONE);
	        // Recupero los valores pasados por par�metros
	        Bundle extras = getIntent().getExtras();
	        if(extras !=null)
	        {
	        	destino= extras.getString("destino");
	        	cargarConversacion(destino);
	        }

	}

	private void cargarConversacion(String destinoConversacion){
		Sql sql = new Sql(this);		
		Cursor cur = sql.getAllEmail();
		
		adapter.clearList();
		
		if (cur.getCount() > 0) {			
			while (cur.moveToNext()){
						
				String destino = cur.getString(cur.getColumnIndex("emailDestino"));
				String fecha = cur.getString(cur.getColumnIndex("emailFecha"));
				
				EmailContacto email = new EmailContacto();
				email.setValue(destino);
				email.setFechaEnvio(fecha);
				
				if(destino.equals(destinoConversacion))
					adapter.addEmail(email);
		
			}

		}
		cur.close();
		sql.close();
		adapter.notifyDataSetChanged();
	}
	
	
	class EmailAdapter extends BaseAdapter{
		private ArrayList<EmailContacto> mails;
		private LayoutInflater inflater;

		public EmailAdapter() {
			mails = new ArrayList<EmailContacto>();
			inflater = LayoutInflater.from(DetalleMail.this);
		}

		public void addEmail(EmailContacto email) {
			if (email != null) {
				this.mails.add(email);
			}
		}
		
		public int getCount() {
			return mails.size();
		}
		
		public Object getItem(int position) {
			return mails.get(position);
		}

		public long getItemId(int position) {
			return position;
		}
		
		public void clearList(){
			mails.clear();
		}

		class Holder {
			private ImageView img_contacto;
			private TextView txt_nombreContacto;
			private TextView txt_fechaEnvio;
			private TextView txt_cuerpoMensaje;
		}
		


		public View getView(int position, View convertView, ViewGroup arg2){
			Holder holder;
			if (convertView == null) {
				convertView = inflater.inflate(R.layout.historiales_fila , null);
				holder = new Holder();
				holder.txt_nombreContacto = (TextView) convertView
						.findViewById(R.id.txt_nombreContacto);
				holder.txt_fechaEnvio = (TextView) convertView
						.findViewById(R.id.txt_fechaMensaje);
				holder.img_contacto = (ImageView) convertView
						.findViewById(R.id.img_contacto);
				holder.txt_cuerpoMensaje = (TextView) convertView
						.findViewById(R.id.txt_cuerpoMensaje);
				convertView.setTag(holder);
			} else {
				holder = (Holder) convertView.getTag();
			}

			EmailContacto email = (EmailContacto) getItem(position);
			
			holder.txt_nombreContacto.setText(email.getValue());
			holder.txt_fechaEnvio.setText(email.getFechaEnvio());

			holder.img_contacto.setVisibility(ImageView.GONE);
			holder.txt_cuerpoMensaje.setVisibility(TextView.GONE);
			
			return convertView;
		}
	}
	
	
}
